diff options
| author | Adam Soltys <[email protected]> | 2022-12-21 15:48:14 -0800 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-12-21 15:48:14 -0800 |
| commit | 6ae27be919808df935fb140fd56bb6ae010a219b (patch) | |
| tree | ba9f5d862cc48abf5b49acfdbd32b87216eadba1 /src/routes/(app)/[username]/generate | |
| parent | 5c0675fa6815a70033c17a9310d0fa1f9c569e92 (diff) | |
| download | coinos-ui-6ae27be919808df935fb140fd56bb6ae010a219b.tar.gz coinos-ui-6ae27be919808df935fb140fd56bb6ae010a219b.zip | |
add nostr message field to user profile page
Diffstat (limited to 'src/routes/(app)/[username]/generate')
| -rw-r--r-- | src/routes/(app)/[username]/generate/+page.svelte | 27 |
1 files changed, 3 insertions, 24 deletions
diff --git a/src/routes/(app)/[username]/generate/+page.svelte b/src/routes/(app)/[username]/generate/+page.svelte index ee67237c..fd6b6f7e 100644 --- a/src/routes/(app)/[username]/generate/+page.svelte +++ b/src/routes/(app)/[username]/generate/+page.svelte @@ -1,42 +1,20 @@ <script> import { Buffer } from 'buffer'; import { onMount } from 'svelte'; - import { BIP32Factory } from 'bip32'; import { bech32m } from 'bech32'; import { generateMnemonic, mnemonicToEntropy, mnemonicToSeedSync } from 'bip39'; import * as ecc from 'tiny-secp256k1'; - import { post } from '$lib/utils'; + import { bip32, stretch, post } from '$lib/utils'; import { goto } from '$app/navigation'; export let data; let { user } = data; - const { encode, decode, fromWords, toWords } = bech32m; - - const stretch = async (password, salt) => - crypto.subtle.deriveKey( - { - name: 'PBKDF2', - salt, - iterations: 100000, - hash: 'SHA-256' - }, - await crypto.subtle.importKey( - 'raw', - new TextEncoder().encode(password), - { name: 'PBKDF2' }, - false, - ['deriveBits', 'deriveKey'] - ), - { name: 'AES-GCM', length: 256 }, - true, - ['encrypt', 'decrypt'] - ); + const { encode, toWords } = bech32m; let mnemonic, key, password, seed, entropy, cipher, pubkey, salt, child; onMount(async () => { - let bip32 = await BIP32Factory(ecc); mnemonic = generateMnemonic(); seed = mnemonicToSeedSync(mnemonic); entropy = mnemonicToEntropy(mnemonic); @@ -54,6 +32,7 @@ user.pubkey = Buffer.from(ecc.xOnlyPointFromPoint(child.publicKey)).toString('hex'); user.cipher = encode('en', toWords(bytes), 180); + user.salt = Buffer.from(salt).toString('hex'); await post(`/${user.username}/generate`, user); goto(`/${user.username}/dashboard`); |
